package ar.com.gestion.dao;

import java.util.LinkedList;
import java.util.List;

import org.springframework.jdbc.core.JdbcTemplate;

import ar.com.gestion.dominio.Producto;
import ar.com.gestion.rowmapper.ProductoRowMapper;

public class ProductoDAO {

	private JdbcTemplate jdbcTemplate;

	public Producto getProducto() {
		// TODO get producto
		return null;
	}

	public List<Producto> getAllProductos() {

		String sql = "select * from Productos";
		List<Producto> listaProductos = jdbcTemplate.query(sql,
				new ProductoRowMapper());
		return listaProductos;
	}

	public JdbcTemplate getJdbcTemplate() {
		return jdbcTemplate;
	}

	public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
		this.jdbcTemplate = jdbcTemplate;
	}

	public void saveProducto(Producto producto) {

		String sql = "insert into Productos (codigo,cantidad,precio,tipo,material,talle,descripcion,color,modelo,reservado) values (?,?,?,?,?,?,?,?,?,?)";
		jdbcTemplate.update(
				sql,
				new Object[] { producto.getCodigo(), producto.getCantidad(),
						producto.getPrecio(), producto.getTipo(),
						producto.getMaterial(), producto.getTalle(),
						producto.getDescripcion(), producto.getColor(),
						producto.getModelo(), producto.getReservado() });

	}

	public void deleteProducto(int id) {
		String sql = "delete from Productos where id = ?";
		jdbcTemplate.update(sql, new Object[] { id });

	}

	public void actualizarProducto(Producto producto) {

		String sql = "update Productos set codigo=?,cantidad=?,precio=?,tipo=?,material=?,talle=?,descripcion=?,color=?,modelo=?,reservado=? where id =?";
		jdbcTemplate.update(
				sql,
				new Object[] { producto.getCodigo(), producto.getCantidad(),
						producto.getPrecio(), producto.getTipo(),
						producto.getMaterial(), producto.getTalle(),
						producto.getDescripcion(), producto.getColor(),
						producto.getModelo(), producto.getReservado(),
						producto.getId() });

	}

	boolean flag = true;

	public void venderProducto(Producto producto) {

			String sql = "update Productos set cantidad=cantidad-1 where Productos.id =?";
			jdbcTemplate.update(sql, new Object[] { producto.getId() });

	}

}
